:root{
    --gray: #666;
    --gray1: #b9b9b9;
    --gray2: #8a8a8a;
    --gray3: #454545;
    --gray4: #313131;
    --blue1: #2d8ceb;
    --blue2: #3e6d9c;
    --black1: #232323;
    --black2: #1d1d1d;
    --black3: #101010;
    --light1: #f7b618;
    --dur1: .3s;
    --dur2: .5s;
    --dur3: .8s;
    --dur4: 1s;
    --scroll1: 8px;
    --scroll2: 10px;
    --track1: 8px;
    --r1: 2px;
    --r2: 4px;
    --r3: 6px;
    --r4: 8px;
    --fs38: 2vw;
    --fs28: 1.5vw;
    --fs20: 1.1vw;
    --fs18: .93vw;
    --fs16: .83vw;
    --fs14: .73vw;
    --fs12: .63vw;
}
html,body{
    height: 100%;
}
body{
    margin: 0;
    color: var(--gray2);
    background: var(--black2);
    overflow: hidden;
}
::-webkit-scrollbar {
    width: var(--scroll2);
}
::-webkit-scrollbar-track{
    box-shadow: inset calc(var(--scroll2) / 4) 0 calc(var(--scroll2) / 3) var(--black3);
    background: var(--black2);
    border-radius: calc(var(--scroll2) / 2);
}
::-webkit-scrollbar-thumb{
    background: var(--gray3);
    border-radius: calc((var(--scroll2) - 2px) / 2);
}
::-webkit-media-controls-panel{
    background: var(--black3);
    opacity: 0.2;
    transition: all var(--dur1);
}
::-webkit-media-controls-panel:hover{
    opacity: 0.8;
}
::-webkit-slider-runnable-track {
    -webkit-appearance: none;
    height: var(--track1);
    border-radius: calc(var(--track1) / 2);
    box-shadow: inset 0 calc(var(--track1) / 4) calc(var(--track1) / 3) var(--black3);
    background: var(--gray3);
}
::-webkit-slider-thumb {
    -webkit-appearance: none;
    height: calc(var(--track1) * 2);
    width: calc(var(--track1) * 2);
    margin-top: calc((var(--track1) * 2 - var(--track1)) / -2);
    background: var(--gray2);
    border-radius: 50%;
    box-shadow: 0 calc(var(--track1) / 4) calc(var(--track1) / 3) var(--black3);
}
::-webkit-slider-thumb:hover{
    background: var(--blue1);
}
input,button,textarea{
    -webkit-appearance: none;
    box-sizing: border-box;
}
input,select,textarea{
    border: 1px solid var(--gray3);
    background: var(--black2);
    color: var(--gray1);
    padding: .2em;
    vertical-align: middle;
}
input:hover,select:hover,
input:focus,select:focus,
textarea:focus{
    transition: all var(--dur1);
    outline: none;
    box-shadow: var(--blue1) 0 0 .4em;
    border-color: var(--blue1);
}
select[disabled],
input[disabled]{
    transition: none;
    color: var(--gray) !important;
    box-shadow: none;
    border-color: var(--gray3);
}
[type=checkbox]{
    width: 1em;
    height: 1em;
    border-radius: .2em;
}
[type=checkbox]:checked{
    background: #88543b;
    box-shadow: var(--light1) 0 0 .4em;
    border-color: var(--light1);
}
[type=file]{
    -webkit-appearance: none;
    width: 100%;
    height: 100%;
    display: block;
    margin: 0;
    padding: 0;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
}
[type=range] {
    border-radius: var(--r2);
}
[type=range]:focus {
    outline: none;
}
[type=button],[type=submit],[type=image],[type=reset],button{
    border: 1px solid var(--gray2);
    outline: none;
    background: var(--gray3);
    color: var(--gray1);
    border-radius: var(--r2);
    line-height: 1em;
    padding: .5em .6em;
    cursor: pointer;
    transition: background var(--dur1);
    vertical-align: middle;
    position: relative;
    box-sizing: border-box;
}
[type=number]::-webkit-outer-spin-button,
[type=number]::-webkit-inner-spin-button{
    -webkit-appearance: none;
}
button:hover{
    background: var(--gray4);
    color: var(--blue1);
    border-color: var(--blue1);
}
button[disabled]{
    background: var(--gray3);
    color: var(--gray2);
    border-color: var(--gray4);
    cursor: auto;
}
button:active{
    background: var(--black1);
}

.draggable{
    -webkit-app-region: drag;
    position: relative;
}
.my-dragbar{
    position: relative;
}
.text-center{
    text-align: center;
}
.text-justify{
    text-align: justify;
}
.text-left{
    text-align: left;
}
.text-right{
    text-align: right;
}
.text-indent{
    text-indent: 2em;
    display: inline-block;
}
.text-limit-c10{
    display: inline-block;
    width: 10em;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    vertical-align: middle;
}
.text-limit-r1,
.text-limit-r2,
.text-limit-r3{
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.text-limit-r1{
    -webkit-line-clamp: 1;
}
.text-limit-r2{
    -webkit-line-clamp: 2;
}
.text-limit-r3{
    -webkit-line-clamp: 3;
}
.float-l{
    float: left;
}
.float-r{
    float: right;
}

.color-1{
    color: var(--blue2);
}
.rotate-z-90{
    transform: rotateZ(90deg);
    display: inline-block;
}


.titlebar{
    position: relative;
    background: var(--gray4) url('icon.png') no-repeat .5em center;
    background-size: auto 100%;
}
.title{
    width: calc(100% - 9em);
    font-size: 18px;
    font-weight: normal;
    padding: .5em 1em .5em 3em;
    margin: 0;
    box-sizing: border-box;
}
.titlebar-tool{
    position: absolute;
    top: .3em;
    right: 1em;
    margin: auto;
}
.titlebar-tool button{
    -webkit-app-region: no-drag;
    width: calc(var(--fs20) * 1.5);
    height: calc(var(--fs20) * 1.5);
    line-height: .9;
    box-sizing: border-box;
    border: none;
    position: relative;
    background: var(--gray4);
    font-size: var(--fs18);
}
.titlebar-tool button:hover{
    color: var(--blue1);
    background: var(--gray3);
}
.titlebar-tool i{
    display: inline-block;
    width: calc(var(--fs20) * .6);
    height: calc(var(--fs20) * .6);
    border: 1px solid;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}
.titlebar-tool .full i{
    display: inline-block;
    width: calc(var(--fs20) * .5);
    height: calc(var(--fs20) * .5);
    top: auto;
    bottom: calc(var(--fs20) * .35);
    left: calc(var(--fs20) * .35);
    margin: 0;
}
.titlebar-tool button.full::after{
    content: '';
    display: block;
    position: absolute;
    width: calc(var(--fs20) * .5);
    height: calc(var(--fs20) * .5);
    border: 1px solid;
    top: calc(var(--fs20) * .35);
    right: calc(var(--fs20) * .35);
}

.toolbar{
    padding: 5px;
    box-sizing: border-box;
    background: var(--gray4);
    border-top: 2px solid var(--black1);
}
.toolbar-item{
    margin: 0;
    overflow: hidden;
}

.set-params{
    background: var(--gray4);
    width: 18em;
    height: 9em;
    padding: .5em 1em;
    border-radius: .5em;
    position: absolute;
    text-align: center;
    box-shadow: #000 0 2px 5px;
    transform: scale(0) rotate(180deg) ;
    transition: all .5s;
    opacity: 0;
    z-index: 100;
}
.cur-val{
    font-size: 12px;
    color: var(--light1);
}
.set-params-show{
    transform: scale(1) rotate(0);
    opacity: 1;
}
.form-control{
    width: 10em;
}

.list{
    height: calc(100% - 82px);
    overflow: auto;
    font-size: 0;
}
.list-item{
    display: inline-block;
    width: 24%;
    height: 45%;
    margin: .5%;
    position: relative;
    box-sizing: border-box;
}
.list-item-tools{
    background: rgba(0, 0, 0, .5);
    position: absolute;
    top: 0;
    width: 100%;
    padding: 5px;
    box-sizing: border-box;
    text-align: right;
    transform: scaleY(0);
    transform-origin: top;
    transition: all .5s;
}
.list-item:hover .list-item-tools{
    transform: scaleY(1);
}
.list-item-close,
.dialog-close{
    padding: 0 !important;
    font-size: var(--fs20);
    width: 1.2em;
    height: 1.2em;
    line-height: 1.2em;
}
embed{
    width: 100%;
    height: 100%;
}

.dialog{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0, .5);
    position: fixed;
    top: 0;
    left: 0;
    transform: scale(0) rotate(180deg);
    transition: all .5s;
}
.dialog-show{
    transform: scale(1) rotate(0);
}
.dialog-tools{
    text-align: right;
    width: 100%;
    min-width: 100px;
    position: relative;
    white-space: nowrap;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    font-size: 0;
    background: #3a3a38;
    padding: 5px;
    box-sizing: border-box;
}
.dialog-progress-txt{
    width: 90%;
    margin: 1em auto 0;
    font-size: 12px;
}
.dialog-progress{
    height: 8px;
    border-radius: 4px;
    display: block;
    width: 90%;
    margin: 0 auto;
    vertical-align: top;
    background: var(--gray2);
    overflow: hidden;
}
.dialog-progress-value{
    display: block;
    height: 100%;
    width: 1px;
    background: var(--light1);
}
.dialog-close{
    display: inline-block;
    vertical-align: top;
    width: 25px;
    height: 25px;
    line-height: 25px;
    box-sizing: border-box;
}
.dialog-body{
    font-size: var(--fs16);
    color: var(--light1);
    max-width: 60%;
    max-height: 60%;
    min-width: 20em;
    position: relative;
    border-radius: 4px;
    background: var(--black2);
    border: 1px solid;
}
.dialog-content{
    font-size: 12px;
    padding: 1em 1.5em;
    overflow: auto;
}
.dialog-rotating:after{
    content: '';
    display: inline-block;
    vertical-align: middle;
    border: 1px solid var(--light1);
    height: 12px;
    margin: 0 6px;
    animation: rotating infinite 1s linear;
}
@keyframes rotating{
    0%{
        transform: rotate(0deg);
    }
    100%{
        transform: rotate(359deg);
    }
}